package fun.anin.aninhongbao.result;


/**
 * 结果枚举
 * @author anin
 * @date: 2020年3月2日15:14:58
 */
public enum RE {
    /**
     * 操作成功
     */
    OK(200, "ok"),
    /**
     * 当服务器依照客户端的请求创建了一个新资源时，发送此响应代码。
     */
    CREATED(201, "Created"),
    /**
     * 400 INVALID REQUEST - [POST/PUT/PATCH]：用户发出的请求有错误，服务器没有进行新建或修改数据的操作，该操作是幂等的。
     */
    INVALID_REQUEST(400, "Bad Request"),
    /**
     * 401 Unauthorized - [*]：表示用户没有权限（令牌、用户名、密码错误）。
     */
    UNAUTHORIZED(401, "Unauthorized"),
    /**
     * 403 Forbidden - [*] 表示用户得到授权（与401错误相对），但是访问是被禁止的。
     */
    FORBIDDEN(403, "Forbidden"),
    /**
     * 404 NOT FOUND - [*]：用户发出的请求针对的是不存在的记录，服务器没有进行操作，该操作是幂等的。
     */
    NOT_FOUND(404, "NOT FOUND"),
    /**
     * 服务器开小差了~
     */
    INVOK_FAILED(504, "服务器开小差了~"),
    /**
     * 500 INTERNAL SERVER ERROR - [*]：服务器发生错误，用户将无法判断发出的请求是否成功
     */
    ERROR(500, "INTERNAL SERVER ERROR");

    /**
     * 状态码
     */
    private Integer code;

    /**
     * 消息
     */
    private String msg;

    /**
     * 构造方法
     * @param code  code
     * @param msg   msg
     */
    RE(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
